home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / fmodla13.zip / KEYBOARD.DEF < prev    next >
Text File  |  1992-01-29  |  3KB  |  145 lines

  1. DEFINITION MODULE Keyboard;
  2.  
  3. (* (C) Copyright 1987 Fitted Software Tools. All rights reserved. *)
  4.  
  5.  
  6. (* This module provides an interface to the BIOS keyboard routines.
  7. *)
  8.  
  9. CONST
  10.       Break = 80X;
  11.       ShiftTab = 81X;
  12.       AltQ = 82X;
  13.       AltW = 83X;
  14.       AltE = 84X;
  15.       AltR = 85X;
  16.       AltT = 86X;
  17.       AltY = 87X;
  18.       AltU = 88X;
  19.       AltI = 89X;
  20.       AltO = 8AX;
  21.       AltP = 8BX;
  22.  
  23.       AltA = 90X;
  24.       AltS = 91X;
  25.       AltD = 92X;
  26.       AltF = 93X;
  27.       AltG = 94X;
  28.       AltH = 95X;
  29.       AltJ = 96X;
  30.       AltK = 97X;
  31.       AltL = 98X;
  32.  
  33.       AltZ = 09EX;
  34.       AltX = 09FX;
  35.       AltC = 0A0X;
  36.       AltV = 0A1X;
  37.       AltB = 0A2X;
  38.       AltN = 0A3X;
  39.       AltM = 0A4X;
  40.  
  41.       F1 = 0ADX;
  42.       F2 = 0AEX;
  43.       F3 = 0AFX;
  44.       F4 = 0B0X;
  45.       F5 = 0B1X;
  46.       F6 = 0B2X;
  47.       F7 = 0B3X;
  48.       F8 = 0B4X;
  49.       F9 = 0B5X;
  50.       F10 = 0B6X;
  51.  
  52.       Home = 0B9X;
  53.       Up = 0BAX;
  54.       PgUp = 0BBX;
  55.       Left = 0BDX;
  56.       Right = 0BFX;
  57.       End = 0C1X;
  58.       Down = 0C2X;
  59.       PgDn = 0C3X;
  60.       Ins = 0C4X;
  61.       Del = 0C5X;
  62.  
  63.       SF1 = 0C6X;
  64.       SF2 = 0C7X;
  65.       SF3 = 0C8X;
  66.       SF4 = 0C9X;
  67.       SF5 = 0CAX;
  68.       SF6 = 0CBX;
  69.       SF7 = 0CCX;
  70.       SF8 = 0CDX;
  71.       SF9 = 0CEX;
  72.       SF10 = 0CFX;
  73.       CF1 = 0D0X;
  74.       CF2 = 0D1X;
  75.       CF3 = 0D2X;
  76.       CF4 = 0D3X;
  77.       CF5 = 0D4X;
  78.       CF6 = 0D5X;
  79.       CF7 = 0D6X;
  80.       CF8 = 0D7X;
  81.       CF9 = 0D8X;
  82.       CF10 = 0D9X;
  83.       AF1 = 0DAX;
  84.       AF2 = 0DBX;
  85.       AF3 = 0DCX;
  86.       AF4 = 0DDX;
  87.       AF5 = 0DEX;
  88.       AF6 = 0DFX;
  89.       AF7 = 0E0X;
  90.       AF8 = 0E1X;
  91.       AF9 = 0E2X;
  92.       AF10 = 0E3X;
  93.  
  94.       CtrlPrtSc = 0E4X;
  95.       CtrlLeft = 0E5X;
  96.       CtrlRight = 0E6X;
  97.       CtrlEnd = 0E7X;
  98.       CtrlPgDn = 0E8X;
  99.       CtrlHome = 0E9X;
  100.  
  101.       Alt1 = 0EAX;
  102.       Alt2 = 0EBX;
  103.       Alt3 = 0ECX;
  104.       Alt4 = 0EDX;
  105.       Alt5 = 0EEX;
  106.       Alt6 = 0EFX;
  107.       Alt7 = 0F0X;
  108.       Alt8 = 0F1X;
  109.       Alt9 = 0F2X;
  110.       Alt0 = 0F3X;
  111.       AltMinus  = 0F4X;
  112.       AltEquals = 0F5X;
  113.  
  114.       CtrlPgUp = 0F6X;
  115.  
  116.  
  117. TYPE ShiftKeys   = (rightShift, leftShift, Ctrl, Alt, ScrollLock, NumLock );
  118.      ShiftStatus = SET OF ShiftKeys;
  119.  
  120.  
  121. PROCEDURE KeyPressed() :BOOLEAN;
  122.   (*
  123.     Is there a character waiting?
  124.   *)
  125.  
  126. PROCEDURE GetKey( VAR k :CHAR );
  127.   (*
  128.     Like BASIC INKEY.
  129.     Returns either a character or a 0C and the extended character code
  130.     on the next call.
  131.   *)
  132.  
  133. PROCEDURE GetKeyCh( VAR ch :CHAR );
  134.   (*
  135.     Extended character codes are remapped into the upper 128 ascii codes
  136.     as by the constants declared above.
  137.   *)
  138.  
  139. PROCEDURE GetShiftStatus( VAR st :ShiftStatus );
  140.   (*
  141.     Gets the status of shift/control keys.
  142.   *)
  143.  
  144.  
  145. END Keyboard.